<!doctype html>
<html lang="zh-CN"><head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
    <title>薛尧的博客</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="" />

    
    
    
    <link rel="stylesheet" href="../../../css/theme.min.css">

    
    
    
    
    <link rel="stylesheet" href="../../../css/custom.min.css">
    

    
</head>
<body>
        <div id="content" class="mx-auto"><header class="container mt-sm-5 mt-4 mb-4 mt-xs-1">
    <div class="row">
        
        <div class="col-sm-4 col-12 text-sm-right text-center pt-sm-4">
            <a href="../../../" class="text-decoration-none">
                <img id="home-image" class="rounded-circle"
                    
                        src="https://ueyao.github.io/image-hosting/blog/avatar.png"
                    
                />
            </a>
        </div>
        <div class="col-sm-8 col-12 text-sm-left text-center">
        
            <h2 class="m-0 mb-2 mt-4">
                <a href="../../../" class="text-decoration-none">
                    
                        薛尧
                    
                </a>
            </h2>
            <p class="text-muted mb-1">
                
                    Java Developer | Short Video Creator
                
            </p>
            <ul id="nav-links" class="list-inline mb-2">
                
                
                    <li class="list-inline-item">
                        <a class="badge badge-white " href="../../../about/" title="关于">关于</a>
                    </li>
                
                    <li class="list-inline-item">
                        <a class="badge badge-white " href="../../../post/" title="文章">文章</a>
                    </li>
                
                    <li class="list-inline-item">
                        <a class="badge badge-white " href="../../../categories/" title="分类">分类</a>
                    </li>
                
            </ul>
            <ul id="nav-social" class="list-inline">
                
                    <li class="list-inline-item mr-3">
                        <a href="http://github.com/flowstone" target="_blank">
                            <i class="fab fa-github fa-1x text-muted"></i>
                        </a>
                    </li>
                
                    <li class="list-inline-item mr-3">
                        <a href="mailto:xueyao.me#gmail.com" target="_blank">
                            <i class="fas fa-at fa-1x text-muted"></i>
                        </a>
                    </li>
                
            </ul>
        </div>
    </div>
    <hr />
</header>
<div class="container">
    <div class="pl-sm-2">
        <div class="mb-3">
            <h3 class="mb-0">博客快速迁移到Sourceforge平台</h3>
            
            <small class="text-muted">发布于 2024-02-24</small>
        </div>

        <article>
            <h4 id="描述">描述</h4>
<p>因为个人原因，准备把托管在阿里云虚拟主机上的博客迁移到免费的sourceforget平台上，
在迁移中遇到很多问题，一一记录下来。</p>
<h4 id="操作">操作</h4>
<h5 id="1从虚拟主机中下载博客的相关文件网站源码数据库">1.从虚拟主机中下载博客的相关文件(网站源码&amp;数据库)</h5>
<h5 id="2上传网站源码到ftp中">2.上传网站源码到FTP中</h5>
<p>打开Sourceforget网站获取FTP连接信息，可以通过项目中的Admin-&gt;Project Web Hosting-&gt;<a href="https://sourceforge.net/p/forge/documentation/Project%20Web%20Services/">Documentation</a>,查找到相关FTP配置,如下图</p>
<p><img src="https://ueyao.github.io/image-hosting/blog/2024/0224/01.png" alt="FTP配置"></p>
<p>FTP配置中需要注意登录后的文件路径，我已经在图中标出来了</p>
<p>FTP默认路径
<img src="https://ueyao.github.io/image-hosting/blog/2024/0224/02.png" alt="FTP默认路径"></p>
<p>FTP主机空间路径
<img src="https://ueyao.github.io/image-hosting/blog/2024/0224/03.png" alt="FTP最终路径"></p>
<h5 id="3同步数据库">3.同步数据库</h5>
<p>通过项目中的Admin-&gt;Project Web Hosting-&gt;MySQL Database，可以查看数据库的相关配置，也可以修改数据库密码，如下图
<img src="https://ueyao.github.io/image-hosting/blog/2024/0224/04.png" alt="数据库配置"></p>
<p>Sourceforge数据库中有很多限制，需要慢慢的把数据导入,还有此数据库不支持远程连接</p>
<h5 id="4预览网站">4.预览网站</h5>
<p>Sourceforge提供二级域名，格式是</p>
<ul>
<li>项目名.sourceforge.io</li>
<li>项目名.sourceforge.net</li>
</ul>
<p>两个都可以，访问网站，如下图
<img src="https://ueyao.github.io/image-hosting/blog/2024/0224/05.png" alt="二级域名效果"></p>
<h5 id="5绑定自定义域名">5.绑定自定义域名</h5>
<p>通过项目中的Admin-&gt;Project Web Hosting-&gt;Vhost DNS,可以配置绑定的自定义域名，如下图
<img src="https://ueyao.github.io/image-hosting/blog/2024/0224/06.png" alt="配置自定义域名"></p>
<p>我绑定是自己博客的二级域名,然后在域名的DNS解析系统中配置映射，如果按照我们常理来说，应该绑定CNAME记录<strong>flowstone.sourceforge.io</strong>,一开始我却实这样配置了，但是域名却没办法正确显示，提示了一些错误，原来是Sourceforge通过cloudflare进行了一些CDN加速，没办法正确解析到真正的服务器地址。</p>
<p>其实它在帮助文档中写了详细的配置，我没有按照它的说明来配置(IP地址固定)，文档如下：
<img src="https://ueyao.github.io/image-hosting/blog/2024/0224/07.png" alt="配置域名文档"></p>
<p>最终DNS解析配置如下：
<img src="https://ueyao.github.io/image-hosting/blog/2024/0224/10.png" alt="配置域名文档"></p>
<p>如果我们按照它的配置，指向自己的域名，就可以看到域名解析生效了，效果如下
<img src="https://ueyao.github.io/image-hosting/blog/2024/0224/08.png" alt="最终效果图"></p>
<p>值得注意的是当你配置了自定义域名后，Sourceforge提交的二级域名将自己跳转到你的项目目录中，无法查看你的搭建的网站。</p>
<h4 id="注意">注意</h4>
<p>在这些操作里，我遇到了另外一个问题，就是我按照上面的操作，打开我的域名，页面竟报出404错误，如下图
<img src="https://ueyao.github.io/image-hosting/blog/2024/0224/09.png" alt="404错误"></p>
<p>就是这个问题，困扰我一天，我一直以为是DNS解析的问题，查询好多资料，也看了官方的一些客户支持问题，从而确定DNS没有配置错误，那是什么问题造成的呢？</p>
<p>说明域名已经找到了服务器，但是指定的目录下并没有我上传的网站源码，真是奇了怪，不科学，我专门去FTP上找了一番，文件也在，最后在一篇博客里发现了问题，原来官方的配置是基于<strong>PHP7</strong>版本，但是我手贱的把PHP版本改成<strong>PHP8</strong>,所以域名解析时并没有找到正确路径，也就是说<em>PHP8</em>版本里面有了特殊的配置，我猜想一种是IP的改变，一种是网站源码路径的改变。</p>

        </article>
    </div>

    <div id="disqus_thread"></div>
<script>
    window.disqus_config = function () {
    
    
    
    };
    (function() {
        if (["localhost", "127.0.0.1"].indexOf(window.location.hostname) != -1) {
            document.getElementById('disqus_thread').innerHTML = 'Disqus comments not available by default when the website is previewed locally.';
            return;
        }
        var d = document, s = d.createElement('script'); s.async = true;
        s.src = '//' + "xie-yao-de-bo-ke" + '.disqus.com/embed.js';
        s.setAttribute('data-timestamp', +new Date());
        (d.head || d.body).appendChild(s);
    })();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="https://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

            </div>
        </div><footer class="text-center pb-1">
    <small class="text-muted">
        
        &copy; Copyright 2024
        
        |
        <a href="https://beian.miit.gov.cn/" target="_blank">苏ICP备14012079号</a>
        <br />
        由 <a href="https://gohugo.io/" target="_blank">Hugo</a> 强力驱动
        | 主题 <a href="https://github.com/austingebauer/devise" target="_blank">Devise</a>
        <br />

    </small>
</footer></body>
</html>
